I

Zadanie 1.

Pobierz paczkę ze zbiorami danych (plik: data.tar.gz).
screenshot z pobrana paczka z danymi

Zadanie 2.

Otwórz w notatniku, np. Gedicie plik o nazwie swimming.arff i poznaj strukturę plików uczących dla weki z danymi symbolicznymi.
swimming plik

Zadanie 3.

Uruchom oprogramowanie WEKA i kliknij w przycisk Explorer.
explorer

Zadanie 4.

Załaduj plik w oknie (Explorer) i odpowiedz na następujące pytania:
zaladowany plik

4.1

Jaki jest rozmiar zbioru uczącego?
4_1
Zbiór uczący to 7 kolumn (atrybutów, cech). W zbiorze swimming znajduje się 6 instancji.

4.2

Ile atrybutów występuje w zbiorze uczącym?
4_2
Jest 6 instancji.

4.3

Ile instancji jest pozytywnych, a ile negatywnych? 4_3
4 pozytywne 2 negatywne

4.4

Spróbuj ustalić, który atrybut najlepiej rozdziela dane? 4_4
Wydaje się, że atrybut airTemp w naszym wypadku dobrze rozdziela dane. Wszystkim, którzy mieli warm się podobało, a ludzie z pogodą typu cold narzekali, bez wyjątku.

4.5

Ile elementów ze zbioru danych ma atrybut wilgotność (humidity) ustawioną jako high?
4_5
4 elementy

4.6

Ile elementów ze zbioru danych ma atrybut sky ustawiony jako sunny, a ile – jako wartość rainy?
4_6
sunny - 3 elementy
rainy - 1 element

4.7

Ile wartości brakujących znajduje się w rozważanym zbiorze danych?

Wszystkie instancje mają wypełnione wszystkie pola. Procent wartości brakujących to 0%.

4.8

Jakiego typu wartości przyjmują poszczególne atrybuty w rozważanym zbiorze danych?
^ Wszystkie atrybuty mają typ Nominal.

II

Zadanie 1.

Wczytaj kolejny plik (plik: swimming.arff) ze zbioru danych.

Zadanie 2.

Zadanie 3.

Wybierz klasyfikator J48 (okno Choose).

Zadanie 4.

W oknie Test option zaznacz opcję Use training set - w przyszłości nie będziemy korzystali z tej opcji - tutaj czynimy wyjątek ze względu na niewielki zbiór danych.

Zadanie 5.

Kliknij Start. Przyjrzyj się rezultatowi – co oznaczają wyniki?

Odpowiedz na następujące pytania:

5.1

Co wyświetla Confusion matrix?

5.2

Ile instancji obiektów zostało zaklasyfikowane poprawnie, a ile niepoprawnie za pomocą użytego klasyfikatora?

Prawa przekątna jest zerami, czyli brak pomyłek.

Zadanie 6.

Zwizualizuj drzewo decyzyjne.

Mówiłem!! :)

Zadanie 7.

Wybierz trzy dowolne klasyfikatory dostępne w WEKA. Wykonaj proste eksperymenty. W przypadku, kiedy dany algorytm wymaga ustawienia wartości poszczególnych parametrów – przy pierwszym eksperymencie zostaw wartości domyślne (nic nie stoi na przeszkodzie, aby zmienić wybrane parametry w kolejnych badaniach)

7.1

Dla każdego użytego klasyfikatora (po uruchomieniu; Use training set) zwróć uwagę na wynik (rezultat) przeprowadzonego eksperymentu – wypisz nazwę użytego klasyfikatora

KStar:
- 100% dobrze
- 0% źle

BayesNet:
- 100% dobrze
- 0% źle

REPTree:
- 66% dobrze
- 33% źle

7.2

Posiadając wyniki z przeprowadzonych eksperymentów spróbuj dokonać oceny użytych podejść, tzn. które podejście okazało się lepsze/gorsze/uzyskane rezultaty nie wykazały różnic w wynikach?

KStar i BayesNet nie wykazuje róźnicy. Z jakiegoś powodu REPTree dwa razy popełniło błąd.

III

Zadanie 1.

Wczytaj kolejny plik (plik: credit-g.arff) do WEKA. credit

Zadanie 2.

Przejdź do zakładki Classify.

Zadanie 3.

Wybierz klasyfikator J48 (okno Choose).

Zadanie 4.

W oknie Test option zaznacz opcję Percentage split – z wartością 66%. Jakie ma to znaczenie? Tzn. czym jest owo 66% danych, a czym pozostała część tego zbioru (34%), w jakim celu stosujemy taki podział? – skomentuj.
test_credit
Osobiście rozumiem to tak, że 66% wszystkich instancji zostanie przeznaczone na nauczenie się reguł i przewidywania. Pozostałe 34% instancji zostanie wówczas przeznaczona do przetestowania zbudowanego modelu. test_mode

Zadanie 5.

Uruchom algorytm.
runned

5.1

Ile instancji obiektów zostało zaklasyfikowanych poprawnie, a ile niepoprawnie?
results

Zadanie 6.

Zmień algorytm na ZeroR (z gałęzi rules).
zero

6.1

Ile instancji obiektów zostało zaklasyfikowanych poprawnie, a ile niepoprawnie?
results_zero

Zadanie 7.

Wypróbuj inne klasyfikatory (dowolne)
lazy_credit

7.1

Ile instancji obiektów zostało zaklasyfikowanych poprawnie, a ile niepoprawnie?

KStar:
- 70.5% dobrze
- 29.5% źle

BayesNet:
- 75.3% dobrze
- 24.7% źle

REPTree:
- 74.1% dobrze
- 25.9% źle

Zadanie 8.

Przejdź do zakładki Preprocess i zobacz jak wygląda rozkład atrybutu określającego czy danych zestaw jest dobry czy zły.
prepro 700 instancji wiarygodnych
300 instancji ryzykownych

8.1

Jaka byłaby skuteczność algorytmu który niezależnie od wartości atrybutów „strzelałby” że użytkownik jest wiarygodny?

70%

8.2

Dlaczego przed przystąpieniem do klasyfikacji, warto wcześniej przyjrzeć się danym?

Przed przystąpieniem do klasyfikacji, warto przyjrzeć się danym, ponieważ pozwala to lepiej zrozumieć dane i wybrać odpowiedni model klasyfikacyjny. Może to również pomóc w zidentyfikowaniu problemów z danymi, takich jak brakujące wartości lub niezbalansowane klasy. Przyjrzenie się danym również pozwala lepiej zrozumieć oczekiwane wyniki i ocenić, czy model będzie w stanie osiągnąć wymagane poziomy dokładności.

IV

Zadanie 1.

Wczytaj dowolny plik z danymi do WEKA.
blood

Zadanie 2.

Spróbuj dokonać następującego eksperymentu eksperymentu:

2.1

Dodaj szum do danych (pobaw się wartościami procentowymi) – gdzie szukać?
noise

2.1

Dokonaj klasyfikacji i sprawdź uzyskany rezultat – dowolny klasyfikator.

Dane przed szumem:
przed

Dane po szumie 21%:
po
Jak widać jest niezła zmiana.

Krzysztof Stawarz